// import request from "@/utils/request";
import axios from "axios";

// const DEPT_BASE_URL = "/api/v1/dept";

const DeptAPI = {
  /**
   * 获取部门列表
   *
   * @param queryParams 查询参数（可选）
   * @returns 部门树形表格数据
   */
  async getDeptList() {
    const res = await axios.get("https://consult-api.itheima.net/dep/all", {
      headers: {
        Authorization:
          "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjE5OSIsImlhdCI6MTc0MDAxNTU1MywiZXhwIjoxNzQwMTg4MzUzfQ.sWzB8dva1M3F-kdqpfgF8xV-fnBNmh0N_9ddStpizoM",
      },
    });
    return res.data.data;
  },

  // /** 获取部门下拉列表 */
  // getOptions() {
  //   return request<OptionType[]>({
  //     url: `${DEPT_BASE_URL}/options`,
  //     method: "GET",
  //   });
  // },

  // /**
  //  * 获取部门表单数据
  //  *
  //  * @param id 部门ID
  //  * @returns 部门表单数据
  //  */
  // getFormData(id: number) {
  //   return request<DeptForm>({
  //     url: `${DEPT_BASE_URL}/${id}/form`,
  //     method: "GET",
  //   });
  // },

  // /**
  //  * 新增部门
  //  *
  //  * @param data 部门表单数据
  //  * @returns 请求结果
  //  */
  // add(data: DeptForm) {
  //   return request({
  //     url: `${DEPT_BASE_URL}`,
  //     method: "POST",
  //     data: data,
  //   });
  // },

  // /**
  //  * 修改部门
  //  *
  //  * @param id 部门ID
  //  * @param data 部门表单数据
  //  * @returns 请求结果
  //  */
  // update(id: number, data: DeptForm) {
  //   return request({
  //     url: `${DEPT_BASE_URL}/${id}`,
  //     method: "PUT",
  //     data: data,
  //   });
  // },

  // /**
  //  * 删除部门
  //  *
  //  * @param ids 部门ID，多个以英文逗号(,)分隔
  //  * @returns 请求结果
  //  */
  // deleteByIds(ids: string) {
  //   return request({
  //     url: `${DEPT_BASE_URL}/${ids}`,
  //     method: "DELETE",
  //   });
  // },
};

export default DeptAPI;

/** 部门查询参数 */
export interface DeptQuery {
  /** 搜索关键字 */
  keywords?: string;
  /** 状态 */
  status?: number;
}

/** 部门类型 */
export interface Dept {
  id: string;
  name: string;
  child: DeptChild[];
}

/** 部门表单类型 */
export interface DeptChild {
  id: string;
  name: string;
  avatar: string;
}
